#pragma once
#include "Isoform.h"
#include "Junctions.h"
#include <algorithm>
#include <vector>
using namespace std;

/*
This class provides different strategies to select a subset of candidate isoforms.
(Transcripts variants)
*/
class CIsoformSelecter
{
public:
    CIsoformSelecter(void);
    ~CIsoformSelecter(void);
    vector<CIsoformInfo> selected_sets;
    vector<CIsoformInfo> candidate_sets;
};

vector<CIsoformInfo> selectByCDsScore(vector<CIsoformInfo>& candidate_sets,\
                                      int maxSelectedIsoformNo);
/*
vector<CIsoformInfo> selectByCDsScoreUtilJunctionsCovered\
	(vector<CIsoformInfo>& candidate_sets, CJunctions j, int maxSelectedIsoformNo);
*/

